package edu.ucla.cs.typecast.app.auction;

import java.io.*;
import java.util.*;

public interface Player {
	public void bid(ParticipantInfo sellerInfo, ItemInfo itemInfo, int price) throws IOException;

	public void closeAuction(ItemInfo itemInfo);
	
	public ParticipantInfo getInfo();

	public SortedSet<ListingInfo> getAuctionInfoList();
	
	public Set<ItemInfo> getConfirmedItems();
	
	public Set<ItemInfo> getWonItems();

	public void openAuction(ItemInfo itemInfo, int price, Date endDate);

	public void receiveAuctionBid(ItemInfo itemInfo, ParticipantInfo buyerInfo, int price);

	public void receiveAuctionConfirm(ItemInfo itemInfo);

	public void receiveAuctionUpdate(ItemInfo itemInfo, int price, Date currentTime, Date endTime,
			ParticipantInfo sellerInfo, ParticipantInfo highestBidderInfo);

}
